package com.starsoft.smdc.bean;

import java.util.Date;

import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;

/**
 * SmdcEr entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "smdc_er")
@Cache(usage=CacheConcurrencyStrategy.READ_WRITE, region="ormCache")
public class SmdcEr implements java.io.Serializable {

	// Fields

	private SmdcErId id;
	private Date publishDate;
	private Double shares;
	private Double shareEarning;
	private Double totalEarning;
	private Double totalEarningPrime;
	private Double totalRevenue;
	private Double shareAssert;
	private Double shareAssertAdjDiv;
	private Double shareAssertAdj;
	private Double totalAssert;
	private Double roeReport;
	private Double bobeiRatio;
	private Double badLoan;
	private Double badLoanRatio;
	private Double adjFactor;
	private Double shareFactor;
	private Boolean manually;
	private Boolean notUpdate;

	// Constructors

	/** default constructor */
	public SmdcEr() {
	}

	/** minimal constructor */
	public SmdcEr(SmdcErId id) {
		this.id = id;
	}

	/** full constructor */
	public SmdcEr(SmdcErId id, Date publishDate, Double shares, Double shareEarning, Double totalEarning,
			Double totalEarningPrime, Double totalRevenue, Double shareAssert, Double shareAssertAdjDiv,
			Double shareAssertAdj, Double totalAssert, Double roeReport, Double bobeiRatio, Double badLoan,
			Double badLoanRatio, Double adjFactor, Double shareFactor, Boolean manually, Boolean notUpdate) {
		this.id = id;
		this.publishDate = publishDate;
		this.shares = shares;
		this.shareEarning = shareEarning;
		this.totalEarning = totalEarning;
		this.totalEarningPrime = totalEarningPrime;
		this.totalRevenue = totalRevenue;
		this.shareAssert = shareAssert;
		this.shareAssertAdjDiv = shareAssertAdjDiv;
		this.shareAssertAdj = shareAssertAdj;
		this.totalAssert = totalAssert;
		this.roeReport = roeReport;
		this.bobeiRatio = bobeiRatio;
		this.badLoan = badLoan;
		this.badLoanRatio = badLoanRatio;
		this.adjFactor = adjFactor;
		this.shareFactor = shareFactor;
		this.manually = manually;
		this.notUpdate = notUpdate;
	}

	// Property accessors
	@EmbeddedId
	@AttributeOverrides({
			@AttributeOverride(name = "secId", column = @Column(name = "secId", nullable = false, length = 10)),
			@AttributeOverride(name = "reportDate", column = @Column(name = "report_date", nullable = false, length = 10)) })
	public SmdcErId getId() {
		return this.id;
	}

	public void setId(SmdcErId id) {
		this.id = id;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "publishDate", length = 10)
	public Date getPublishDate() {
		return this.publishDate;
	}

	public void setPublishDate(Date publishDate) {
		this.publishDate = publishDate;
	}

	@Column(name = "shares", precision = 22, scale = 0)
	public Double getShares() {
		return this.shares;
	}

	public void setShares(Double shares) {
		this.shares = shares;
	}

	@Column(name = "share_earning", precision = 22, scale = 0)
	public Double getShareEarning() {
		return this.shareEarning;
	}

	public void setShareEarning(Double shareEarning) {
		this.shareEarning = shareEarning;
	}

	@Column(name = "total_earning", precision = 22, scale = 0)
	public Double getTotalEarning() {
		return this.totalEarning;
	}

	public void setTotalEarning(Double totalEarning) {
		this.totalEarning = totalEarning;
	}

	@Column(name = "total_earning_prime", precision = 22, scale = 0)
	public Double getTotalEarningPrime() {
		return this.totalEarningPrime;
	}

	public void setTotalEarningPrime(Double totalEarningPrime) {
		this.totalEarningPrime = totalEarningPrime;
	}

	@Column(name = "total_revenue", precision = 22, scale = 0)
	public Double getTotalRevenue() {
		return this.totalRevenue;
	}

	public void setTotalRevenue(Double totalRevenue) {
		this.totalRevenue = totalRevenue;
	}

	@Column(name = "share_assert", precision = 22, scale = 0)
	public Double getShareAssert() {
		return this.shareAssert;
	}

	public void setShareAssert(Double shareAssert) {
		this.shareAssert = shareAssert;
	}

	@Column(name = "share_assert_adj_div", precision = 22, scale = 0)
	public Double getShareAssertAdjDiv() {
		return this.shareAssertAdjDiv;
	}

	public void setShareAssertAdjDiv(Double shareAssertAdjDiv) {
		this.shareAssertAdjDiv = shareAssertAdjDiv;
	}

	@Column(name = "share_assert_adj", precision = 22, scale = 0)
	public Double getShareAssertAdj() {
		return this.shareAssertAdj;
	}

	public void setShareAssertAdj(Double shareAssertAdj) {
		this.shareAssertAdj = shareAssertAdj;
	}

	@Column(name = "total_assert", precision = 22, scale = 0)
	public Double getTotalAssert() {
		return this.totalAssert;
	}

	public void setTotalAssert(Double totalAssert) {
		this.totalAssert = totalAssert;
	}

	@Column(name = "roe_report", precision = 22, scale = 0)
	public Double getRoeReport() {
		return this.roeReport;
	}

	public void setRoeReport(Double roeReport) {
		this.roeReport = roeReport;
	}

	@Column(name = "bobei_ratio", precision = 22, scale = 0)
	public Double getBobeiRatio() {
		return this.bobeiRatio;
	}

	public void setBobeiRatio(Double bobeiRatio) {
		this.bobeiRatio = bobeiRatio;
	}

	@Column(name = "bad_Loan", precision = 22, scale = 0)
	public Double getBadLoan() {
		return this.badLoan;
	}

	public void setBadLoan(Double badLoan) {
		this.badLoan = badLoan;
	}

	@Column(name = "bad_Loan_ratio", precision = 22, scale = 0)
	public Double getBadLoanRatio() {
		return this.badLoanRatio;
	}

	public void setBadLoanRatio(Double badLoanRatio) {
		this.badLoanRatio = badLoanRatio;
	}

	@Column(name = "adj_factor", precision = 22, scale = 0)
	public Double getAdjFactor() {
		return this.adjFactor;
	}

	public void setAdjFactor(Double adjFactor) {
		this.adjFactor = adjFactor;
	}

	@Column(name = "share_factor", precision = 22, scale = 0)
	public Double getShareFactor() {
		return this.shareFactor;
	}

	public void setShareFactor(Double shareFactor) {
		this.shareFactor = shareFactor;
	}

	@Column(name = "manually")
	public Boolean getManually() {
		return this.manually;
	}

	public void setManually(Boolean manually) {
		this.manually = manually;
	}

	@Column(name = "not_update")
	public Boolean getNotUpdate() {
		return this.notUpdate;
	}

	public void setNotUpdate(Boolean notUpdate) {
		this.notUpdate = notUpdate;
	}

}